/* 
自定义hook函数
发ajax请求获取数据
*/
import axios from 'axios'
import {ref} from 'vue'

export default function useUrlLoader<T>(url: string) {
  // 请求成功的结果数据
  const result = ref<T>()
  // 请求失败的提示文本
  const errorMsg = ref()
  // 是否正在请求中的标识
  const loading = ref(true)

  // 发请求获取数据
  axios.get(url).then(response => {
    result.value = response.data
    loading.value = false
  }).catch(error => {
    errorMsg.value = error.message
    loading.value = false
  })

  return {
    result,
    errorMsg,
    loading
  }
}